package manager;

import java.util.Date;
import java.util.List;

import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;

import session.CursoSession;
import session.TurmaSession;

import entidade.Curso;
import entidade.Turma;

@Named("gerenteManager")
@RequestScoped
public class GerenteManager {

	@EJB
	private TurmaSession session;

	@EJB
	private CursoSession cSession;

	private Turma turma = new Turma();

	private List<Turma> turmas;
	//private List<Curso> cursos;

	//private Date dtInicio;
	//private Date dtConclusao;

	private Integer idCurso;
	//private Integer idTurma;

	public void save() {
		Curso curso = cSession.findById(idCurso);
		turma.setCurso(curso);

		// turma.setDataIncio(dtInicio);
		// turma.setDataConclusao(dtConclusao);

		if (turma.getId() == null) {
			session.insert(turma);

		//	turma = new Turma();
		} else {
			session.update(turma);
		}
		cleanAtributes();
	}

	public void excluir(Turma turma) {
		session.delete(turma);
		cleanAtributes();
	}

	public void prepararUpdate(Turma turma) {
		this.turma = turma;
		idCurso = turma.getCurso().getId();
	}

	public void cleanAtributes(){
		turma = new Turma();
		turma.setCurso(new Curso());
		idCurso = null;
		
		
	}
	public Turma getTurma() {
		return turma;
	}

	public void setTurma(Turma turma) {
		this.turma = turma;
	}

	public Integer getIdCurso() {
		return idCurso;
	}

	public void setIdCurso(Integer idCurso) {
		this.idCurso = idCurso;
	}

	public List<Turma> getTurmas() {
		if (turmas == null) {
			turmas = session.findAll();
		}
		return turmas;
	}

	public void setTurmas(List<Turma> turmas) {
		this.turmas = turmas;
	}

//	public Integer getIdTurma() {
//		return idTurma;
//	}
//
//	public void setIdTurma(Integer idTurma) {
//		this.idTurma = idTurma;
//	}

//	public Date getDtInicio() {
//		return dtInicio;
//	}
//
//	public void setDtInicio(Date dtInicio) {
//		this.dtInicio = dtInicio;
//	}
//
//	public Date getDtConclusao() {
//		return dtConclusao;
//	}
//
//	public void setDtConclusao(Date dtConclusao) {
//		this.dtConclusao = dtConclusao;
//	}
//
//	public List<Curso> getCursos() {
//		if (cursos == null) {
//			cursos = cSession.findAll();
//		}
//		return cursos;
//	}
//
//	public void setCursos(List<Curso> cursos) {
//		this.cursos = cursos;
//	}

}